var id = "";
var arr = "";
var parentCode='';	
$(function(){
	parentCode = request.QueryString("parentCode");// 点击左侧菜单传过来的按钮父节点
	id = request.QueryString("id");// 从跳转页面过来的
	initCombobox();
	loadInfo();
	tree();
	$("#tt").tree("expandAll");
	$("#updateForm").form("disableValidation");
	$("#btncancel").click(function() {
		$("#updateForm").form('reset');
		$("#updateForm").form("disableValidation");
	});

});

function initCombobox() {
	// 初始化状态下拉菜单
	$('#status').combobox({
		editable : false, // 不可编辑状态
		cache : false,
		panelHeight : 'auto',// 自动高度适合
		valueField : 'code',
		textField : 'name'
	});
	// 数据放入下拉菜单
	var ut = postAsyncAjax("/findCodebySortCode?sortCode=004", null);// 获取状态
	if (ut.data == null)
		ut.data = [];
	ut.data.unshift({
		"code" : "",
		"name" : "--请选择--"
	});
	$("#status").combobox("clear");
	$("#status").combobox("loadData", ut.data);

	// 初始化状态下拉菜单
	$('#identifying').combobox({
		editable : false, // 不可编辑状态
		cache : false,
		panelHeight : 'auto',// 自动高度适合
		valueField : 'code',
		textField : 'name'
	});
	// 数据放入下拉菜单
	var ut = postAsyncAjax("/findCodebySortCode?sortCode=050", null);// 获取角色标识
	if (ut.data == null)ut.data = [];
	for(var i =0; i < ut.data.length; i++){
		if('admin' == ut.data[i].code){
			ut.data.splice(i,1);
		}
	}
	ut.data.unshift({"code" : "","name" : "--请选择--"});
	$("#identifying").combobox("clear");
	$("#identifying").combobox("loadData", ut.data);
}

// 回显信息
function loadInfo() {
	var data = new Object();
	data.id = id;
	var result = postAsyncAjax('/findRoleLimitsId', data);
	arr = result.data.described;
	$("#updateForm").form('load', {
		id : result.data.id,
		name : result.data.name,
		status : result.data.status,
		remark : result.data.remark,
		identifying : result.data.identifying,
		described : result.data.described
	});
}
/**
 * 刷新grid
 */
function reloadGird() {
	gridReload("roleList");
}

function updateMerchant() {
	// var nodes = $('#tt').tree('getChecked');
	var nodes = $('#tt').tree('getChecked', [ 'checked', 'indeterminate' ]);
	var arr = new Array();
	for (i in nodes) {
		arr.push(nodes[i].id)
	}
	var described = arr.toString();

	if ($("#updateForm").form('enableValidation')) {
		$("#updateForm").form('submit', {
			url : '/updateRole?described=' + described,
			success : function(msg) {
				msg = $.parseJSON(msg);
				if (msg.returnCode == '02') {
					top.showMessage("<font color='red'>角色名称已存在!</font>!");
					$("#name").focus();
					return;
				}
				if (msg.returnCode == '00') {
					$.messager.alert('提示','更新成功！','info',function(){
						var menutab = top.$("#headFrame").get(0).contentWindow.$("#menutab");
						menutab.tabs('getSelected').panel('refresh');
					});
				} else {
					top.showMessage("更新失败！");
				}
			}
		});
	}
}

function tree() {
	resu = arr.split(",");

	var t = 1;
	var param = [];
	var limit = postAsyncAjax("/findLimitsAll", null).data;
	for (var i = 0; i < limit.length; i++) {
		if (limit[i].parentCode == "-1") {
			var flg = true;
			for (var j = 0; j < resu.length; j++) {
				if (resu[j] == limit[i].id) {
					param.push({
						"id" : limit[i].id,
						"text" : limit[i].name,
						"state" : "closed",
						"checked" : true,
						"iconCls" : "icon-group",
						"t" : t,
						"code" : limit[i].code
					})
					flg = false;
				}
			}
			if (flg) {
				param.push({
					"id" : limit[i].id,
					"text" : limit[i].name,
					"state" : "closed",
					"iconCls" : "icon-group",
					"t" : t,
					"code" : limit[i].code
				})
			}
		}
	}

	$("#tt").tree({
		data : param,
		checkbox : true,
		cascadeCheck : true,
		lines : true,
		onBeforeExpand : function(note) {
			if (note.t == 1) {
				userTreeLoad(note);
			}
		}
	});

	function userTreeLoad(note) {
		var param = new Array();
		for (var i = 0; i < limit.length; i++) {
			var lcolor = 'black';
			if (limit[i].type == 'button') {
				lcolor = 'green';
			}
			if (limit[i].type == 'method') {
				lcolor = 'red';

			}
			if (limit[i].parentCode == note.code) {
				var flag = true;
				for (var j = 0; j < resu.length; j++) {
					if (limit[i].id == resu[j]) {
						param.push({
							"id" : limit[i].id,
							"text" : '<font color="' + lcolor + '">'
									+ limit[i].name + '</font>',
							"state" : "closed",
							"checked" : true,
							"t" : t,
							"code" : limit[i].code
						})
						flag = false;
					}
				}
				if (flag) {
					param.push({
						"id" : limit[i].id,
						"text" : '<font color="' + lcolor + '">' + limit[i].name
						+ '</font>',						"state" : "closed",
						"t" : t,
						"code" : limit[i].code
					})
				}
			}
		}
		$('#tt').tree('append', {
			parent : note.target,
			data : param
		});
		note.t = 2;
	}

	$("#tt").tree("expandAll");
	$("#tt").tree("expandAll");
	$("#tt").tree("expandAll");
	$("#tt").tree("expandAll");
}